Veri cation of Compilers

نویسنده

  • Gerhard Goos
چکیده

We report about a joint project of the universities at Karls-ruhe, Kiel and Ulm on how to get correct compilers for realistic programming languages. Arguing about compiler correctness must start from a compiling speciication describing the correspondence of source and target language in formal terms. We have chosen to use abstract state machines to formalize this correspondence. This allows us to stay with traditional compiler architectures for subdividing the compiler task. A main achievement is the use of program checking for replacing large parts of compiler veriication by the much simpler task of verifying program checkers.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Generating Decompilers

Compiler compilers are in widespread use, but decompiler compilers are a more novel concept. This paper sets out a technique for the decompilation of object code back to source code, and describes a working decompiler generator. Existing and potential applications include reverse engineering, quality assessment, debugging and safety-critical code validation or veri cation.

متن کامل

An Architecture for Veri ed

machine term rewriting graph rewriting traversal techniques . . . prefabricated parts generated from specifications Compiler executes Figure3. Implementation architecture 4.3 An Initial Correct Compiler The discussion in the previous subsection relies on the availability of a correct compiler for the implementation language. This problem must be dealt with in order to continue. The aim of this ...

متن کامل

VOC: A Methodology for the Translation Validation of OptimizingCompilers

There is a growing awareness, both in industry and academia, of the crucial role of formally verifying the translation from high-level source-code into low-level object code that is typically performed by an optimizing compiler. Formally verifying an optimizing compiler, as one would verify any other large program, is not feasible due to its size, ongoing evolution and modi cation, and, possibl...

متن کامل

Scalable Certi cation for Typed Assembly Language

A type-based certifying compiler maps source code to machine code and target-level type annotations. The targetlevel annotations make it possible to prove easily that the machine code is type-safe, independent of the source code or compiler. To be useful across a range of source languages and compilers, the target-language type system should provide powerful type constructors for encoding sourc...

متن کامل

Formal Veri cation of Transformations on Dependency Graphs in Optimizing Compilers

Dependency graphs are used as intermediate representations in optimizing compilers and software-engineering. In a transformational design approach, optimization and reenement transformations are used to transform dependency-graph-based speciications at higher abstraction levels to those at lower abstraction levels. An informal representation would lead to subtle errors, making it diicult to gua...

متن کامل

Transformations on Dependency Graphs :

Dependency graphs are used to model data and control ow in hardware and software design. In a transformational design approach, optimization and re nement transformations are used to transform dependency-graph-based speci cations at higher abstraction levels to those at lower abstraction levels. In this dissertation, we investigate the formal speci cation and mechanical veri cation of transform...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999